home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Games of Daze
/
Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso
/
x2ftp
/
msdos
/
mxlibs
/
gusdk222
/
readme.rev
< prev
next >
Wrap
Text File
|
1994-12-23
|
10KB
|
176 lines
UltraSound SDK Revision History Updated: Dec. 21,1994
===============================
Version 1.02 - First general release
Version 1.03 - Fixed bug in UltraSetVolume()
Version 1.04 - Fixed bug in UltraMaxAlloc()
Version 1.05 - Linear volume functions are now linear.
- Source files split up so objs are separate. This
will make your code smaller.
- Microsoft libraries provided.
- Changed some prototypes from int to unsigned char.
My lint checker liked ints better. The values
were 8 bit so I set the prototyes appropriately.
- Added support for 2 Adlib-type timers.
- Included interrupt callback functions. These
were done before but inadvertantly left out of
the libraries.
Version 1.06 - Added functions to return state of DMA channel(s)
UltraDramDmaBusy,UltraSampleDmaBusy
- Fixed potential problem with UltraPeekData and
UltraPokeData
- Fixed bug in UltraVoiceStopped and UltraVolumeStopped
- Added an support functions for sending/recieving data
thru midi port.
Version 1.07 - Fixed bug in restoring the interrupt vectors when
closing out the card. A benign problem for the most
part. Deadly if irq 7 was used.
Version 1.08 - Changed the upload & download functions to accept
a far pointer to the buffer of data to send/receive.
- Added some of the recording functions. More complete
documentation to follow.
- Fixed a bug in the download. Problem downloading if
buffer ended on a 256K page boundary. The memory
allocation structures would be blitzed.
- IRQ and DMA channel's can now be NOT programmed for
the board. If any of the parameters are set to 0,
the corresponding latch on the board will be setup
such that it will not be used. This will allow the
application NOT to use up a PC resource. This can
be handy if resources are tight.
Version 1.09 - Documentation change. UltraPokeData takes 3 arguments.
Prototype was correct, documentation was wrong.
- Cleaned up documentation, added couple prototypes.
- Added cdecl's for those who might need it.
Version 1.10 - Added functions to allocate/deallocate voices. These
could have been done by the application, but is useful
to add here.
- Fixed documentation on UltraMemFree(). Had arguments
flipped.
- Changed some of the source code to make recompiling for
Watcom C.
Version 2.00 - General documentation cleanup. Spelling, grammer etc..
- Added a lot of hardware specific documentation
(Theory of operation, register level defs etc)
- Fixed bug in volume ramping. Problems when the ramp
values are the same.
Version 2.01 - Fixed bug in UltraAngPosition()
- Changed init procedure to set locations 0&1 to 0. All
voices point there & will cause problems if their
volumes are raised. (clipping when they are summed
in).
Version 2.10 - UltraMidiEnableRecv and UltraMidiEnableXmit were flipped.
They turned each other's IRQs on instead of their own.
- UltraMidiDisableRecv and UltraMidiDisableXmit were flipped.
They turned each other's IRQs off instead of their own.
- Fixed documentation on UltraStartVoice. When playing a
sample in reverse, the BEGIN location should be the
largest, the start of the loop should be next and the
end loop address should be the smallest.
- Fixed bug in UltraStartVoice(). A sampled attack was
not done properly. Playing a sample backwards was also
incorrect.
- Fixed documenation Appendix C. Bit 6 is the direction
bit. 0 means increasing addresses. 1 means decreasing.
It is not normally necessary to set this bit.
UltraStartVoice will set it if the start address is
greater than the end address.
- Cleaned up the makefiles a bit.
- Corrected doc on return values for UltraRecordDmaBusy()
- Changed the segment group names for Borland tiny model.
Makes a .sys driver easier.....
- Fixed bug in UltraAlocVoice. Didn't init variable and
could return OK when there were no free voices.
- Moved some misc. global variables into _gf1_data struct
- Changed initial mixer setting to everything disabled
- Added support for the rollover bit
- changed inportw to inpw
outportw to outpw
inport to inp
outport to outp
so it will compile with Borland C++ 3.1
- Made functions use ANSI calling sequence.
- Add support for rollover bit
- Add support for Metaware High C compiler
- Fixed bug in enabling irq in sampling code
- changed DMA controller to use demand mode. This has no
effect on current hardware. (vars.c)
- PASCAL routines added by Kurt Kennett of Ingenuity
Software. These routines are a direct analog translation.
- The documentation was completely reworked to allow for
this interface. As a result, new sections were added
to chapter 1, chapter 3 was slimmed down, and the
appendices were changed to accomodate both languages.
The section with the least # of changes was chapter 2.
- The addition of PASCAL calls and the total rework of
the documentation justified a full minor revision
update. (2.02 to 2.10).
Version 2.11
- Fixed bug in UltraSetVoiceMode. It would disable irqs
on the voice.
- Changes several functions to accept far pointers. This
was necessary to support SS != DS (i.e. OS/2)
- Fixed problem in UltraReadDmaPos(). Could hang if counter
was not moving.
- Fixed boundary bug in PrimeDma. Ending location was
off by one.
- Fixed some ROLLOVER problems. UltraSetVoiceEnd() and
handle_voice() needed some tweeks.
- Made UltraPing() look at two values to determine if card
is present
- Added prototypes for the handler's to gf1proto.h
- irq.c changed MEATWARE to METAWARE
- Fixed bug in PASCAL version : UltraGetVoice returned
only one voice before not allowing any more voices to
be allocated. Pascal 'LoadMod' example file fixed.
Source code included in this version.
Version 2.13
- Changed the handler's prototypes to standard ones.
- Minor changes so it will build with visual C++ (C8)
- Added a couple new functions.
UltraStopRecordDma()
UltraStopPlayDma()
- Changed Ultra16Xparent. Line level input too low.
- Fixed bug in irq16.c. Wasn't clearing DMA busy flags.
- Fixed off-by-one in GetRecordDmaPos(). Would make it look
like it xferred more data than it did.
- Changed board version checking to this
5 - ICS mixer. Some inputs are flipped
6-7 - ICS mixer. Iinputs all correct
8-11 - UltraMAX (No ICS mixer)
0x81 - 0x90 - GUS w/o line in and mic enables
- Added channel mutes to ICS mixer code and UltraMixMute()
function
- Changed name of mixer.c icsmix.c
- Added #defines to includes to allow them to be included
multiple times.
- Added MallocTinyAlignedBuff(). Small and Tiny model
should use this to get a page-aligned buff.
- Fixed malloc/farfree mismatch in MallocAlignedBuff()
- Removed -Z options in makeborl for small model. Caused
some null pointer problems on exit. Tiny model still
uses them.....
Version 2.20 - Pre-release at CES
Version 2.21 - Changed WATCOM getvect and setvect routines to use
_dos_getvect and _dos_setvect.
Version 2.22 - Added information for popular high-level third party API's
that support the UltraSound, as an alternative to directly
programming the UltraSound.
- General Cleanup